/**
 * 0.0.2
 * 传递的str支持正则表达式了
 * 批量替换目录里的文字内容，可用于批量修改配置信息,
 */
var fs = require('fs')
function isCode(g, c) { // 判断文件里是否含有当前字段
    var rgba = new RegExp('g')
    var isTure = rgba.test(c)
    if (isTure) {
        return rgba
    } else {
        return false
    }
}
function guiWriteApp(a) {
    var b = a.path // 要处理的文件路径
    var c = a.str // 要替换的文字
    var d = a.isDelete // 是否删除 批量删除
	var e = a.replaceStr // 要被替换成的文字
    console.log(b)
    return new Promise(function (rules) {
        if (!fs.existsSync(b)) { // 判断文件是否存在
            rules(false)
            return
        }
        fs.readFile(b, "utf-8", function (err, fsData) {
            if (err) {
                console.error(err)
                rules(false)
                return err
            } else {
                var isTure = isCode(c, fsData)
                if (isTure) { // 如果函数存在
                    if (d) { // 如果是删除
						fsData = fsData.replace(c, ``)
                        console.log('删除操作')
                    } else {
						fsData = fsData.replace(new RegExp(c), e)
                        console.log('已替换')
                    }
                } else {
                    rules(false)
                }
                fs.writeFile(b, fsData, function (err, data) {
                    if (err) {
                        console.log(err, '错误')
                        rules(false)
                    } else {
                        rules(data)
                        console.log('添加成功')
                    }
                })
            }
        })
    })
}
module.exports = guiWriteApp